/*
 * Client.h
 *
 *  Created on: 01/05/2011
 *      Author: dela
 */

#ifndef CLIENT_H_
#define CLIENT_H_

#include <fstream>
#include "Socket.h"

class Client {
private:
	Socket aSocket;
	char *ip;
	int port;
	string nombrePersonaje;

	list<string> listaOponentes;

	string pathJuego;

	bool actualizarContrincante(Connection *conn, Juego *juego, int* cantidadOponentes);

public:
	Client(char *ip, int port, string nombrePersonaje);

	void run(Formulario* formulario);

	/**
	 * Inicia la conexion.
	 */
	int initConnection();

	Socket& getSocket() {return aSocket;}

	string& getPathJuego();
	void setNombrePersonaje(string& nombrePersonaje);
	void setIp(char* ip);
	void setPort(int port);

	list<string>& getListaOponentes();
	void setListaOponentes();

	void shutdownConnection();

	bool listaOponentesContiene(string nombre);

	void personajeElegido();
	void desbloquearSeleccion();
};

#endif /* CLIENT_H_ */
